c++ java script string theory knit cosmology programmer software development java knitting c programming cgi html .net php development scott wang embroidery software engineer software thread crochet software engineer in canada yarn physics fabric sewing j2ee general relativity